//lcd_ACM1602_lib_i2c.h

///////////////////////////////////////////////
//  秋月　キャラクタ液晶 ACM1602NI
//　I2Cインターフェース　16文字 x 2行　for PIC32MZ & XC32コンパイラ
//  Vcc: 2.7v -5.5v
//
//　　lcd_ACM1602_init_i2c()    ----- 初期化
//    lcd_ACM1602_cmd_i2c(cmd)  ----- コマンド出力
//    lcd_ACM1602_data_i2c(chr) ----- １文字表示出力
//    lcd_ACM1602_clear_i2c()   ----- 全消去
//    lcd_ACM1602_str_i2c(str*) -----　文字列表示
//    lcd_ACM1602_cmd_i2c(0x0C);    //カーソル：0FF、ブリンク：0FF
//    lcd_ACM1602_cmd_i2c(0x80);  //1行目の先頭へ
//    lcd_ACM1602_cmd_i2c(0xC0);  //2行目の先頭へ
//////////////////////////////////////////////


#define lcd_Clock_i2c   200000000        // 単位はHzで指定

// I2Cレジスタ設定
#define I2CXCONbits     I2C2CONbits     //I2C制御レジスタ設定
#define I2CXSTATbits    I2C2STATbits    //I2C状態レジスタ設定
#define I2CXTRN         I2C2TRN         //I2C送信バッファレジスタ設定



//関数プロトタイプ宣言
void lcd_ACM1602_start_i2c(void);
void lcd_ACM1602_stop_i2c(void);
void lcd_ACM1602_write_byte_i2c(char byte);  //1バイト書込み
void lcd_ACM1602_WtiteCommand_i2c(char command);    //コマンド送信
void lcd_ACM1602_WriteData_i2c(char data);  //データ送信
void lcd_ACM1602_Idle_i2c(void);  //アイドル待ち
void lcd_ACM1602_cmd_i2c(char cmd);
void lcd_ACM1602_data_i2c(char data);
void lcd_ACM1602_clear_i2c(void);   //画面クリア
void lcd_ACM1602_str_i2c(char* str);
void lcd_ACM1602_init_i2c(void);    //初期化


void lcd_ACM1602_delay_us_i2c(unsigned int usec);	//1μsec遅延関数
void lcd_ACM1602_delay_ms_i2c(unsigned int msec);	//1msec遅延関数
